﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;

namespace AvaProvi
{
    class clsTipoDeConstruccion_CD
    {
        private dsConstruccion dsConstruccion;
        private dsConstruccionTableAdapters.TiposDeConstruccionTableAdapter TATiposDeConstruccion;

        public clsTipoDeConstruccion_CD()
        {
            this.dsConstruccion = new dsConstruccion();
            this.dsConstruccion.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema;
            this.dsConstruccion.DataSetName = "dsConstruccion";

            this.TATiposDeConstruccion = new AvaProvi.dsConstruccionTableAdapters.TiposDeConstruccionTableAdapter();
            this.TATiposDeConstruccion.ClearBeforeFill = true;
            //Falta la cadena de conexion
        }

        public BindingList<dsConstruccion.TiposDeConstruccionRow> RecuperaTiposDeConstrucion(int IDAvaluo)
        {
            BindingList<dsConstruccion.TiposDeConstruccionRow> blTiposDeConstruccion = new BindingList<dsConstruccion.TiposDeConstruccionRow>();
            TATiposDeConstruccion.RecuperaTiposDeCosntruccion(this.dsConstruccion.TiposDeConstruccion, IDAvaluo);
            foreach (dsConstruccion.TiposDeConstruccionRow filaTipo in this.dsConstruccion.TiposDeConstruccion)
            {
                blTiposDeConstruccion.Add(filaTipo);
            }
            return blTiposDeConstruccion;
        }

        public bool CreaTipoDeConstruccion(clsTipoDeConstruccion_CRN objTipo)
        {
            int RegistrosAfectados = TATiposDeConstruccion.NuevoTipoDeConstruccion(
                objTipo.Construccion.Terreno.Inmueble.Avaluo.IdAvaluo,
                objTipo.Tipo,
                objTipo.Descripcion,
                objTipo.Superficie,
                objTipo.Edad,
                objTipo.VP,
                objTipo.VRNm2,
                objTipo.FactorObsolencia,
                objTipo.FactorComercializacion);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool ModificaTipoDeConstruccion(clsTipoDeConstruccion_CRN objTipo)
        {
            int RegistrosAfectados = TATiposDeConstruccion.ActualizaTipoDeCosntruccion(                
                objTipo.Tipo,
                objTipo.Descripcion,
                objTipo.Superficie,
                objTipo.Edad,
                objTipo.VP,
                objTipo.VRNm2,
                objTipo.FactorObsolencia,
                objTipo.FactorComercializacion,
                objTipo.IDTipoDeConstrucccion,
                objTipo.Construccion.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }

        public bool EliminaTipoDeConstruccion(clsTipoDeConstruccion_CRN objTipo)
        {
            int RegistrosAfectados = TATiposDeConstruccion.EliminaTipoDeConstruccion(               
                objTipo.IDTipoDeConstrucccion,
                objTipo.Construccion.Terreno.Inmueble.Avaluo.IdAvaluo);
            return RegistrosAfectados == 0 ? false : true;
        }
    }
}
